package com.dys.designpattern.abstractfactory.factory;

import com.dys.designpattern.abstractfactory.product.AbstractFreezer;
import com.dys.designpattern.abstractfactory.product.AbstractTV;
import com.dys.designpattern.abstractfactory.product.AbstractWasher;

/**
 * @Author: 疾风
 * @ClassName: AppliancesFactory
 * @Description: 抽象工厂: 在一个抽象工厂中可以声明多个工厂方法,用于创建不同类型的产品
 * @CreateDate: 2024/05/24
 * @Version: v1.0.0
 */
public interface AppliancesFactory {

    /**
     * 创建电视
     * @return 抽象电视产品
     */
    AbstractTV createTV();

    /**
     * 创建冰箱
     * @return 抽象冰箱产品
     */
    AbstractFreezer createFreezer();

    /**
     * 创建洗衣机
     * @return 抽象洗衣机产品
     */
    AbstractWasher createWasher();
}
